/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  dev
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      extrudeToRegionMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// Name of region to create
region          liquidFilm;

// Specification of faces to extrude. Either faceZones (either exclusively
// internal faces or boundary faces) or faceSets (boundary faces only).

// FaceZones to extrude
faceZones       (f0 f1);
//faceZonesShadow (f0Shadow f1Shadow);

// faceSets to extrude
//faceSets       (f0 f1);
//faceSetsShadow (f0Shadow f1Shadow);

// Adapt the original mesh to have mapped patches at where the
// faceZones are?
// If true:
// - extruding internal faces: become baffles on mapped patches
// - extruding boundary faces: repatched to be on mapped patches
// If false: leave original mesh intact. Extruded mesh will still have
// mapped patch which might need to be adapted.
adaptMesh       true;

// Sample mode for inter-region communication
sampleMode      nearestPatchFace;


// 1 D extrusion
// ~~~~~~~~~~~~~

    // Extrude 1D-columns of cells? This by default duplicates points so can
    // have overlapping columns (i.e. non space filling)
    oneD            false;

    //- If oneD: specify which boundary is wanted between the layers
    // oneDPolyPatchType empty; // wedge

    //- If oneD: specify whether to duplicate points (i.e. disconnect 1D
    //  columns) or only on non-manifold extrusion areas. Default is false.
    //  nonManifold true;


//- Extrusion model to use. The only logical choice is linearNormal?

//- Linear extrusion in normal direction
extrudeModel    linearNormal;

//- Linear extrusion in specified direction
// extrudeModel   linearDirection;

//- Wedge extrusion. If nLayers is 1 assumes symmetry around plane.
// extrudeModel   wedge;

//- Extrudes into sphere around (0 0 0)
// extrudeModel   linearRadial;

//- Extrudes into sphere around (0 0 0) with specified radii
//extrudeModel        radial;

//- Extrudes into sphere with grading according to pressure (atmospherics)
// extrudeModel   sigmaRadial;

nLayers         10;

expansionRatio  0.9;

linearNormalCoeffs
{
    thickness       0.05;
}

wedgeCoeffs
{
    axisPt      (0 0.1 -0.05);
    axis        (-1 0 0);
    angle       360;  // For nLayers=1 assume symmetry so angle/2 on each side
}

linearDirectionCoeffs
{
    direction       (0 1 0);
    thickness       0.05;
}

linearRadialCoeffs
{
     R              0.1;
    // Optional inner radius
    Rsurface        0.01;
}

radialCoeffs
{
    // Radii specified through interpolation table
    R               table ((0 0.01)(3 0.03)(10 0.1));
}

sigmaRadialCoeffs
{
    RTbyg           1;
    pRef            1;
    pStrat          1;
}


// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
